home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / ObserveTest / SimpleField.m < prev   
Text File  |  1995-06-12  |  1KB  |  56 lines

  1.  
  2. /* Generated by Interface Builder */
  3.  
  4. #import "SimpleField.h"
  5. #import "ObserveDispatch.h"
  6.  
  7. @implementation SimpleField
  8.  
  9. - initFrame:(const NXRect *)rectFrame
  10. {
  11.     [super initFrame:rectFrame];
  12.  
  13.     // Create the default observer object
  14.     observer = [[ObserveDispatch alloc] init];
  15.         
  16.     return self;
  17. }
  18.  
  19. /*
  20.     Method: takeIntValueFrom:
  21.         This routine is called by the scroller as it increases and decreases
  22.         its value.  It sets the int value of the current cell and dispatches
  23.         to the other cells as well.
  24. */
  25.     
  26. - takeIntValueFrom:sender
  27. {
  28.     [super takeIntValueFrom:sender];
  29.     [observer takeIntValueFrom:sender];
  30.  
  31.     return self;
  32. }
  33.  
  34. /*
  35.     Method: forward::
  36.         Tries to forward messages that this object doesn't understand.  It is
  37.         put here so that messages can be re-routed to the observer by default.
  38.         This way you don't have to implement a specific instance variable
  39.         return method for the observer and it looks like you are adding
  40.         observers directly to this class instead.
  41. */
  42.  
  43. - forward:(SEL)aSelector :(marg_list)argFrame
  44. {
  45.     char *selectorName = sel_getName(aSelector);
  46.     
  47.     if ([observer respondsTo:aSelector])
  48.         [observer performv:aSelector :argFrame];
  49.     else
  50.         printf("SimpleField does not understand: %s\n",selectorName);
  51.  
  52.     return self;
  53. }
  54.  
  55. @end
  56.